অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্টে ইমেজ যোগ করা সম্ভব। ইমেজ দুটি মূলভাবে Inline Image এবং Anchored Image হিসেবে যোগ করা যেতে পারে। Inline Image হল এমন একটি ইমেজ যা টেক্সটের সঙ্গে সরাসরি যুক্ত থাকে এবং তার সাথে মুভ করে, যেখানে Anchored Image একটি স্থির ইমেজ যা ডকুমেন্টের নির্দিষ্ট স্থানে স্থাপন করা হয় এবং টেক্সটের মধ্য দিয়ে চলে না।
এখানে দুটি ধরনের ইমেজ ব্যবস্থাপনা করার জন্য উদাহরণ দেওয়া হলো।
Inline Image এমন একটি ইমেজ যা টেক্সটের সঙ্গে সরাসরি যুক্ত থাকে এবং তার অবস্থান টেক্সটের বর্তমান অবস্থানের সাথে পরিবর্তিত হয়। এটি সাধারণত টেক্সটের মধ্যে প্রবাহিত হয়ে থাকে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class AddInlineImage {
public static void main(String[] args) throws Exception {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// Inline Image যোগ করা
FileInputStream imageStream = new FileInputStream("image.jpg");
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(100), Units.toEMU(100));
// টেক্সট যোগ করা
run.addBreak();
run.setText("This is an inline image above the text.");
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("word_with_inline_image.docx")) {
document.write(out);
}
System.out.println("Inline image successfully added!");
}
}
FileInputStream
দিয়ে ইমেজ ফাইলটি লোড করা হয়।run.addPicture()
মেথডের মাধ্যমে Inline Image ডকুমেন্টে যুক্ত করা হয়। Units.toEMU(100)
এর মাধ্যমে ইমেজের আকার নির্ধারণ করা হয় (যা 100 পিক্সেল).word_with_inline_image.docx
নামে ডকুমেন্টটি সেভ করা হয়।Anchored Image এমন একটি ইমেজ যা ডকুমেন্টের নির্দিষ্ট স্থানে এঙ্কর (anchor) করা হয়। এটি স্থির অবস্থানে থাকে এবং টেক্সটের মাঝে চলে না।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class AddAnchoredImage {
public static void main(String[] args) throws Exception {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// Anchored Image যোগ করা
FileInputStream imageStream = new FileInputStream("image.jpg");
run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(100), Units.toEMU(100));
// প্যারাগ্রাফে টেক্সট যোগ করা
run.addBreak();
run.setText("This image is anchored to the paragraph.");
// Anchored position সেট করা (যেমন, নীচের দিকে বা পাশে স্থাপন)
XWPFPictureData pictureData = document.getPackage().addPictureData(imageStream, XWPFDocument.PICTURE_TYPE_JPEG);
document.createParagraph().createRun().addPicture(pictureData, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(100), Units.toEMU(100));
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("word_with_anchored_image.docx")) {
document.write(out);
}
System.out.println("Anchored image successfully added!");
}
}
FileInputStream
দিয়ে ইমেজ ফাইলটি লোড করা হয়।run.addPicture()
এর মাধ্যমে Anchored Image ডকুমেন্টে যুক্ত করা হয়।word_with_anchored_image.docx
নামে সেভ করা হয়।Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে Inline Image এবং Anchored Image যোগ করতে পারেন। Inline Image টেক্সটের মধ্যে প্রবাহিত হয়, যেখানে Anchored Image একটি স্থির অবস্থানে থাকে এবং টেক্সটের মধ্যে চলে না। এই দুটি ইমেজ ব্যবস্থাপনার মাধ্যমে আপনি আপনার ডকুমেন্টের চিত্র ব্যবহার আরও সৃজনশীলভাবে করতে পারেন।
common.read_more